#include <gl\glew.h>								// Header File For The OpenGL32 Library
#include <gl\glu.h>
#include <gl\glut.h>
#include <string>
#include <iostream>
#include <cassert>

#pragma comment (lib, "glew32.Lib")
#pragma comment (lib, "GlU32.Lib")
#pragma comment (lib, "glut32.lib")

//#pragma comment (lib, "user32.lib")
//#pragma comment (lib, "gdi32.lib")

using namespace std;

int main(int argc, char* argv[])
{
  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
  glutInitWindowSize(640,480);
  glutCreateWindow("glSandbox");

  if( glGetError() != GL_NO_ERROR )
  {
    cout<<"Occur system error\n";
    return 1;
  }
  std::string Vendor = (const char*) glGetString(GL_VENDOR);
  std::string Ver = (const char*) glGetString(GL_VERSION);
  std::string Renderer = (const char*)glGetString(GL_RENDERER);
  std::string Ext = (const char*) glGetString(GL_EXTENSIONS);

  std::string GLSL_ver = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION);

  std::string info = Vendor + "\n"
    + Ver + "\n"
    + Renderer + "\n"
    + Ext + "\n"
    + GLSL_ver + "\n";

  cout<<info;

  GLboolean isCap = glIsEnabled(GL_DITHER);
  isCap = glIsEnabled(GL_LIGHTING);
  isCap = glIsEnabled(GL_MULTISAMPLE);

  GLint maxLights;
  glGetIntegerv(GL_MAX_LIGHTS, &maxLights);

  return 0;
}
